package com.example.demo.factoryMode.abstractFactory;

public class consumer {

    public static void main(String[] args) {
        /**
         * 使用时就无需再关心是哪个工厂类，只需要将此工厂当作抽象的 IFactory 接口使用即可。这种经过抽象的工厂方法模式被称作抽象工厂模式。
         */
        ProductFactory factory = new xmFactory();
        //由于客户端只与工厂打交道了，调用的是接口中的方法，使用时根本不需要知道是在哪个具体工厂中实现的这些方法，
        //如果要整体替换的话，只需要修改调用这一行代码即可
//        ProductFactory factory = new hwFactory();
        Computer computer = factory.productComputer();
        Phone phone = factory.productPhone();
        computer.powerOn();
        computer.shutdown();
        computer.setUp();
        computer.restart();
        phone.powerOn();
        phone.shutdown();
        phone.setUp();
        phone.restart();

    }

}
